home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.beans.PropertyChangeEvent;
- import java.beans.PropertyChangeListener;
- import javax.accessibility.Accessible;
- import javax.accessibility.AccessibleContext;
- import javax.accessibility.AccessibleRole;
- import javax.accessibility.AccessibleSelection;
- import javax.accessibility.AccessibleState;
- import javax.swing.plaf.basic.BasicComboPopup;
-
- public class JPopupMenu$AccessibleJPopupMenu extends JComponent.AccessibleJComponent implements PropertyChangeListener {
- // $FF: synthetic field
- final JPopupMenu this$0;
-
- protected JPopupMenu$AccessibleJPopupMenu(JPopupMenu var1) {
- super(var1);
- this.this$0 = var1;
- var1.addPropertyChangeListener(this);
- }
-
- public AccessibleRole getAccessibleRole() {
- return AccessibleRole.POPUP_MENU;
- }
-
- public void propertyChange(PropertyChangeEvent var1) {
- String var2 = var1.getPropertyName();
- if (var2 == "visible") {
- if (var1.getOldValue() == Boolean.FALSE && var1.getNewValue() == Boolean.TRUE) {
- this.handlePopupIsVisibleEvent(true);
- } else if (var1.getOldValue() == Boolean.TRUE && var1.getNewValue() == Boolean.FALSE) {
- this.handlePopupIsVisibleEvent(false);
- }
- }
-
- }
-
- private void handlePopupIsVisibleEvent(boolean var1) {
- if (var1) {
- this.firePropertyChange("AccessibleState", (Object)null, AccessibleState.VISIBLE);
- this.fireActiveDescendant();
- } else {
- this.firePropertyChange("AccessibleState", AccessibleState.VISIBLE, (Object)null);
- }
-
- }
-
- private void fireActiveDescendant() {
- if (this.this$0 instanceof BasicComboPopup) {
- JList var1 = ((BasicComboPopup)this.this$0).getList();
- if (var1 == null) {
- return;
- }
-
- AccessibleContext var2 = var1.getAccessibleContext();
- AccessibleSelection var3 = var2.getAccessibleSelection();
- if (var3 == null) {
- return;
- }
-
- Accessible var4 = var3.getAccessibleSelection(0);
- if (var4 == null) {
- return;
- }
-
- AccessibleContext var5 = var4.getAccessibleContext();
- if (var5 != null && this.this$0.invoker != null) {
- AccessibleContext var6 = this.this$0.invoker.getAccessibleContext();
- if (var6 != null) {
- var6.firePropertyChange("AccessibleActiveDescendant", (Object)null, var5);
- }
- }
- }
-
- }
- }
-